package martin.tpfinal.grabar.comunicacion;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;

import martin.tpfinal.grabar.principal.Principal;
import martin.tpfinal.grabar.principal.PropertiesUtils;


/**
 * Esta clase enviara la palabra reconocida a la vista
 * para que se pueda reflejar el resultado de lo reconocido.
 * @author Martin
 *
 */
public class SocketViewConector extends Conector {


    public SocketViewConector(){
	    DESTINO ="VIEW_DESTINO";
	    PUERTO ="VIEW_PUERTO";
	    TIMEOUT ="VIEW_TIME_OUT";
		setPort(Integer.parseInt(PropertiesUtils.getProperties().getProperty(PUERTO)));
	    setHost(PropertiesUtils.getProperties().getProperty(DESTINO));
	}

	@Override
	public String processAction(byte[] audioFile) {

		String resultado=null;
		try {
			
			//obtengo un socket
			Socket socket = getSocket();

			OutputStream out = socket.getOutputStream();
			BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
			
			//envio la palabra
			out.write(audioFile);
			
			//obtengo la respuesta
			resultado = in.readLine();
			
		} catch (Exception e) {
			System.err.println(e);
		}
		return resultado;

	}

	
	public static void main(String[] args) {
	SocketViewConector socketConector = new SocketViewConector();


	System.out.println(socketConector.processAction("path".getBytes()));
	
	
}

}
